Computer readable medium recording program, information processing device, information processing system, and information processing method

ABSTRACT

An example computer  10  that manages folders containing files by using a tree structure is caused to execute a step S 104  of identifying a superior folder from predetermined folders managed by the tree structure by retracing the tree structure by at least one level, and a step S 501  of specifying a file belonging to a subordinate folder that is subordinate to the superior folder in the tree structure as a processing object.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority of theprior Japanese Patent Application No. JP2010-282210, filed on Dec. 17,2010, the entire contents of which are incorporated herein by reference.

FIELD

The present disclosure relates to an information processing device thatmanages groups of data by means of a tree structure.

BACKGROUND AND SUMMARY

Conventionally, for specifying a plurality of pieces of data related tomusic, video, photographs, and the like in batches as a processingobject, data grouping methods are used which involve managing data witha single folder, managing data using a list such as a so-calledplaylist, and the like.

However, with such management methods, once data is grouped, specifyingdata included in a certain group together with data not belonging to thesame group as processing objects requires creating a new folder or a newplaylist, consequently forcing a user to perform cumbersome operations.

In addition, for specifying data as processing objects across aplurality of groups, a method is also used in which all pieces of dataare set as processing objects regardless of grouping. For example, thereare playback devices which allow selection of an option of specifyingall existing data as playback objects when performing random playback,shuffle playback, or the like on all pieces of data including music,videos, photographs, and the like. However, these methods simply treatall pieces of data as processing objects and fail to consider attributesor similarities of data or groups.

Furthermore, for extracting processing objects with consideration forattributes and similarities of data, a method is also used in whichcontents and meta-information of data are referenced to automaticallyextract similar data as processing objects (a method commonly referredto as a smart folder, a smart playlist, a smart search, or the like).However, such a method is disadvantageous from the standpoint ofresources since automatic extraction necessitate reading data into amemory (for example, by performing an operation to open a file), andproblematically keeps users waiting and the like.

An example of an information processing program according to the presentdisclosure is a program which causes a computer that manages groups ofdata by means of a tree structure to execute: identifying a superiorgroup from predetermined groups managed by the tree structure byretracing the tree structure by at least one level; and specifying databelonging to a subordinate group that is subordinate to the superiorgroup in the tree structure as a processing object.

The present disclosure is applicable to computers that manage groups ofdata by means of a tree structure. Application objects of the presentdisclosure are not limited to computers that manage data by means of aso-called file system or a directory structure. For example, even whenaudio data, video data, image data, and the like are managed by adatabase that differs from a so-called file system, the presentdisclosure can be applied if a group such as a playlist that containsdata is managed on the database by means of a tree structure. Therefore,even when an actual folder structure is flat, as long as there ismanagement information that enables management by groups having a treestructure, the present disclosure can be applied and processing objectscan be readily specified across groups.

In addition, according to the present disclosure, processing object datacan be specified across a plurality of related groups without having toreference meta-information (for example, tag information included in amusic file or an image file) or content data contained in data or, inother words, without having to perform a file opening process in which afile is extracted in a memory. However, application objects of thepresent disclosure are not limited to cases where meta-information andcontent data contained in data are not referenced. While a greateramount of resources is generally required, a superior group may beidentified based on information obtained by referencing meta-informationand content data. Furthermore, subordinate groups that are subordinateto a superior group refer to groups connected to the superior group on alower level side in a tree structure. In addition to groups that aredirectly subordinate to the superior group (in other words, lower by onelevel than the superior group), subordinate groups also include groupsthat are indirectly subordinate to the superior group via anothersubordinate group (in other words, lower by two or more levels than thesuperior group).

Moreover, a program according to the present disclosure may cause thecomputer to further execute selecting data by a predetermined process,wherein in the superior group identifying, the superior group may beidentified by identifying a superior group that is higher by at leastone level from a group containing the data selected in the dataselecting.

In addition, a program according to the present disclosure may cause thecomputer to further execute selecting a group by a predeterminedprocess, wherein in the superior group identifying, the superior groupmay be identified by identifying a superior group that is higher by atleast one level from the group selected in the group selecting.

According to the present disclosure, by selecting data or a group by apredetermined process and identifying a superior group using the data orthe group as a starting point, data with high degrees of association canbe preferentially included in the processing objects. Examples of thepredetermined process include a process of random selection from data orgroups that satisfy a predetermined condition and a process of randomselection from all pieces of data or all groups.

Furthermore, in the data selecting, data may be selected by a process ofselecting data from data satisfying a predetermined condition.

Moreover, in the group selecting, a group may be selected by a processof selecting a group from groups that satisfy a predetermined condition.

According to the present disclosure, by selecting data or a group fromdata or groups that satisfy a predetermined condition and identifying asuperior group using the data or the group as a starting point, datawith high degrees of association with the predetermined condition can bepreferentially included in the processing objects. Examples of thepredetermined condition include a frequency of use that is equal to orhigher than a predetermined order and a frequency of use that is equalto or higher than a predetermined threshold. As described above, whendata or a group that satisfies a predetermined condition is selected,meta-information and content data contained in the data included in thegroup may be referenced.

In addition, in the data selecting, data may be selected by a process ofselecting data from data satisfying the predetermined condition thatincludes a condition regarding a frequency of use of data.

Furthermore, in the group selecting, a group may be selected by aprocess of selecting a group from groups satisfying the predeterminedcondition that includes a condition regarding a frequency of use of agroup.

By selecting data or a group from data or groups satisfying thepredetermined condition that includes a condition regarding a frequencyof use, a processing object in accordance with a preference or a usagetrend of a user can be specified.

For example, in the data selecting, data may be selected by a process ofselecting data from data satisfying the predetermined condition thatincludes a condition requiring a frequency of use of data to be within apredetermined rank from a highest rank.

By selecting data or a group using a method of random selection from aset of data or a set of groups whose frequency of use is equal to orhigher than a predetermined rank or a method of random selection from aset of data or a set of groups whose frequency of use is equal to orlower than a predetermined rank, a processing object that is more likelyto be favored by a user or a processing object that is normally lesslikely to be used by the user can be specified.

In addition, in the data selecting, a plurality of pieces of data may beselected by a plurality of predetermined processes differing from eachother; in the superior group identifying, a plurality of the superiorgroups may be identified for each of the plurality of pieces of dataselected in the data selecting; and the computer may be caused tofurther execute displaying group names of the plurality of superiorgroups identified in the superior group identifying on a display deviceconnected to the computer so as to be selectable by a user.

By selecting a plurality of pieces of data by a plurality ofpredetermined processes differing from each other and identifying aplurality of the superior groups for each of the plurality of pieces ofdata, processing objects contained in different superior groups can beselected. In addition, by displaying the group names of the plurality ofsuperior groups selected in this manner so as to be selectable by theuser, a range of choices available to the user can be widened.

Furthermore, in the data selecting, a plurality of pieces of data may beselected including data selected by a process of selecting data fromdata satisfying a predetermined condition, and data selected by aprocess of selecting data from all pieces of data.

By including data selected by a process of selecting data from allpieces of data in data selected in the data selecting, processingobjects contained in a superior group which are unlikely to be selectedwhen a predetermined condition is applied can be added to the choicesavailable to the user in addition to processing objects contained in asuperior group identified according to the predetermined condition.

Moreover, the program according to the present disclosure may cause thecomputer to further execute acquiring a frequency of use of a group byidentifying a group containing each piece of data indicated in a datausage history of the computer and compiling the usage history for eachidentified group, wherein in the group selecting, a group may beselected by a process of selecting a group from groups satisfying thepredetermined condition including a condition regarding the frequency ofuse of group acquired in the use frequency acquiring.

In other words, according to the present disclosure, a frequency of useof a group containing data can be acquired based on a usage history ofthe data, and a group to become a starting point for identifying asuperior group can be selected based on the acquired frequency of use ofthe group.

In addition, the program according to the present disclosure may causethe computer to further execute determining whether or not there is aplurality of the subordinate groups which contains a predetermined typeof data and which is subordinate to the superior group.

According to the present disclosure, by executing the determination todetermine whether or not there is a plurality of groups containing datathat may potentially be processing objects, a determination can be madeon whether or not processing objects are specified across a plurality ofgroups. Whether or not data contained in a subordinate group is apredetermined type of data can be identified by, for example,referencing file type identification information managed according toextensions of file names or file management information (informationincluding attributes or the like of managed files such as a filemanagement table). However, methods of identifying data types are notlimited to the example described above. While a greater amount ofresources is generally required, a data type may be identified byopening a file and referencing meta-information or content data.

Furthermore, the program according to the present disclosure may causethe computer to change the predetermined group and re-execute thesuperior group identifying and the processing object specifying when itis determined in the determination that there is not a plurality of thesubordinate groups.

Moreover, the program according to the present disclosure may cause thecomputer to further execute changing the superior group by furtherretracing from the superior group identified in the superior groupidentifying by at least one level when it is determined in thedetermination that there is not a plurality of the subordinate groups.

In other words, according to the present disclosure, by re-executing thesuperior group identifying and the processing object specifying or bychanging the superior group by further retracing by at least one level,the superior group can be changed when appropriate subordinate groupsare not subordinate in plurality to an identified superior group.

In addition, the present disclosure can also be viewed as an informationprocessing device, an information processing system comprising theinformation processing unit, or a method executed by a computer.Furthermore, the present disclosure may be embodied by a recording ofthe program described above on a recording medium that is readable by adevice such as a computer, a machine, or the like. In this case, arecording medium that is readable by a computer or the like refers to arecording medium which accumulates information such as data or programsby an electric action, a magnetic action, an optical action, amechanical action, or a chemical action and which can be read by acomputer or the like.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a front view diagram showing an example non-limiting gamedevice in an opened state according to an embodiment;

FIG. 2 is a side diagram showing an example non-limiting game device inan opened state according to an embodiment;

FIG. 3A is a left side diagram showing an example non-limiting gamedevice in a closed state according to an embodiment;

FIG. 3B is a front view diagram showing an example non-limiting gamedevice in a closed state according to an embodiment;

FIG. 3C is a right side diagram showing an example non-limiting gamedevice in a closed state according to an embodiment;

FIG. 3D is a rear view diagram showing an example non-limiting gamedevice in a closed state according to an embodiment;

FIG. 4 is a diagram showing an example non-limiting situation where auser is gripping a game device with both hands according to anembodiment;

FIG. 5 is a diagram showing an example non-limiting situation where auser is gripping a game device with one hand according to an embodiment;

FIG. 6 is a block diagram showing an example non-limiting internalcomposition of a game device according to an embodiment;

FIG. 7 is a diagram schematically showing an example non-limitingfunctional composition of a game device according to an embodiment;

FIG. 8 is a diagram showing an example non-limiting game device in astate where a top screen of a music file management/playback functioninterface is displayed according to an embodiment;

FIG. 9 is a diagram showing an example non-limiting game device in astate where a “Random” menu screen of a music file management/playbackfunction interface is displayed according to an embodiment;

FIG. 10 is a flow chart showing an example non-limiting flow of asuperior group identification process according to an embodiment;

FIG. 11 is a diagram showing an example non-limiting folder structure inan external data memory according to an embodiment;

FIG. 12 is a flow chart showing an example non-limiting first variationof a superior group identification process;

FIG. 13 is a flowchart showing an example non-limiting second variationof a superior group identification process;

FIG. 14 is a flow chart showing an example non-limiting third variationof a superior group identification process;

FIG. 15 is a flow chart showing an example non-limiting flow of aprocessing object specification process according to an embodiment;

FIG. 16 is a diagram showing an example non-limiting configuration of aplayback object list according to an embodiment; and

FIG. 17 is a flow chart showing an example non-limiting flow of ashuffle playback process of music files according to an embodiment.

DETAILED DESCRIPTION OF NON-LIMITING EXAMPLE EMBODIMENTS

Hereinafter, example embodiments of a program, an information processingdevice, an information processing system, and an information processingmethod according to the present disclosure will be described withreference to the drawings. The example embodiments described belowrepresent exemplary implementations of the information processingprogram and the like according to the present disclosure. Therefore, itis to be understood that the information processing program and the likeaccording to the present disclosure are not limited to the specificconfigurations described below. When implementing the informationprocessing program and the like according to the present disclosure,specific configurations in accordance with various embodiments may beadopted as appropriate.

Moreover, while a case will be described in the present embodiment inwhich the information processing program and the like according to thepresent disclosure are implemented as a game device that is one mode ofan information processing device, the information processing program andthe like according to the present disclosure can be applied to anyinformation processing device as long as the information processingdevice manages groups of data by means of a tree structure. In otherwords, application objects of the information processing program and thelike according to the present disclosure are not limited to a gamedevice. For example, the information processing program and the likeaccording to the present disclosure can be applied to various types ofinformation processing devices such as a personal computer, a mobilephone terminal, a mobile audio player, a stationary audio player, and astationary game device.

FIG. 1, FIG. 2, FIG. 3A, FIG. 3B, FIG. 3C and FIG. 3D are plan diagramsshowing one example of the external appearance of a game device.

The game device 10 shown in FIG. 1 to FIG. 3D has a built-in imagingunit (camera), and is able to capture an image by means of this imagingunit, display a captured image on a screen, and save data of a capturedimage. Furthermore, the game device 10 is able to execute a game programstored on an exchangeable memory card, or a game program received from asever or other game device via a network. Moreover, the game device 10is able to generate an image captured by a virtual camera set in avirtual space, by computer graphics processing, and display the image ona screen.

The game device 10 shown in FIG. 1 to FIG. 3D has a lower housing 11 andan upper housing 21. The lower housing 11 and the upper housing 21 arecoupled openably and closably (in a folding fashion) by means of a hingestructure. In other words, the upper housing 21 is installed rotatably(swingably) with respect to the lower housing 11. By this means, thegame device 10 has two modes: a closed state where the upper housing 21lies in close contact with the lower housing 11 (FIG. 3A and FIG. 3C),and a state (open state) where the upper housing 21 has been rotatedwith respect to the lower housing 11 and released from the state ofclose contact. As shown in FIG. 2, the upper housing 21 is allowed torotate until reaching a position where the upper housing 21 and thelower housing 11 are substantially parallel in the open state (see FIG.2).

FIG. 1 is a front view diagram showing one example of a game device 10in an opened state (open state). The lower housing 11 and the upperhousing 21 of the game device 10 are respectively formed in ahorizontally-long rectangular plate shape having a planar shape with along direction (horizontal direction (left/right direction): the xdirection in FIG. 1) and a short direction ((vertical direction): the ydirection in FIG. 1). The outer edge portion on the lower side in thelengthwise direction of the upper housing 21 and the outer edge portionon the upper side in the lengthwise direction of the lower housing 11are coupled rotatably by means of a hinge structure. When the user usesthe game device 10, the game device 10 is normally set to an open state.When the user stores the game device 10, the game device 10 is normallyset to a closed state. Furthermore, the upper housing 21 can maintain astationary state at any angle desired by the user with respect to thelower housing 11, due to a frictional force which is produced in thecoupling portion with the lower housing 11. In other words, in the gamedevice 10, the upper housing 21 can be halted at a desired angle withrespect to the lower housing 11. In general, from the viewpoint of thevisibility of a screen provided in the upper housing 21, the upperhousing 21 is opened to a position forming a perpendicular angle orobtuse angle with respect to the lower housing 11. Below, when the gamedevice 10 is in the closed state, the respectively opposing surfaces ofthe upper housing 21 and the lower housing 11 are called “innersurfaces” or “main surfaces”. Furthermore, the respective surfaces ofthe upper housing 21 and the lower housing 11 on the opposite side tothe inner surfaces (main surfaces) are called “outer surfaces”.

Protrusions (bearing sections) 11A which protrude in a direction (the zdirection in FIG. 1) perpendicular to the inner surface (main surface)11B of the lower housing 11 are provided in the upper long edge portionof the lower housing 11 of the game device 10. Furthermore, a protrusion(bearing section) 21A which protrudes in a direction perpendicular tothe lower surface of the upper housing 21 from this lower surface isprovided in the lower long edge portion of the upper housing 21. Arotating axle (not illustrated) extending in the x direction from oneprotrusion 11A, through the protrusion 21A, to the other protrusion 11Ais accommodated in the protrusions 11A, 21A, 11A, and the upper housing21 is able to rotate relatively with respect to the lower housing 11about this rotating axle. In this way, the lower housing 11 and theupper housing 21 are connected in a foldable fashion.

A lower LCD (Liquid Crystal Display) 12, a touch panel 13, operatingbuttons 14A to 14L, an analog stick 15, a first LED 16A and a microphonehole 18 are provided on the inner surface 11B of the lower housing 11which is shown in FIG. 1.

The lower LCD 12 is accommodated in the lower housing 11. The planarshape of the lower LCD 12 is a horizontally-long rectangular shape, thelong edge direction thereof being arranged to coincide with thelengthwise direction of the lower housing 11 (the x direction in FIG.1). The lower LCD 12 is provided in the center of the inner surface(main surface) of the lower housing 11. The screen of the lower LCD 12is exposed via an opening section provided in the inner surface of thelower housing 11. When the game device 10 is not in use, it is possibleto prevent soiling or scratching of the screen of the lower LCD 12 bysetting the game device 10 to the closed state described above. Thenumber of pixels of the lower LCD 12 is 320 dot×240 dot(horizontal×vertical), for instance. The lower LCD 12 is a displaydevice which displays images in a planar view (not a stereoscopic view),in contrast to the upper LCD 22 which is described below. In the presentembodiment, an LCD is used as a display device, but it is also possibleto use another display device, such as one using EL (ElectroLuminescence), for example. Moreover, for the lower LCD 12, it ispossible to use a display device having a desired resolution.

The touch panel 13 is one of input devices of the game device 10. Thetouch panel 13 is installed so as to cover the screen of the lower LCD12. In the present embodiment, the touch panel 13 employs a resistancefilm type of touch panel. However, the touch panel 13 is not limited toa resistance film type and it is also possible to use a touch panelbased on any press operation method, such as an electrostaticcapacitance method, or the like. Furthermore, in the present embodiment,the touch panel 13 is employed, which has the same resolution (detectionaccuracy) as the resolution of the lower LCD 12. Here, it is notespecially necessary for the resolution of the touch panel 13 and theresolution of the lower LCD 12 to be matching.

The operating buttons 14A to 14L are input devices for performingpredetermined inputs. Among the operation buttons 14A to 14L, a four-waybutton 14A (direction input button 14A), a button 14B, a button 14C, abutton 14D, a button 14E, a power button 14F, a select button 14J, ahome button 14K and a start button 14L are provided on the inner surface(main surface) of lower housing 11.

The four-way button 14A has a cross shape and includes at least buttonsindicating upward, downward, leftward and rightward directions. Thefour-way button 14A is provided in the lower part of the region to theleft-hand side of the lower LCD 12. The four-way button 14A is locatedin a position where it can be operated by the thumb of a user's lefthand when gripping the lower housing 11.

The four buttons, button 14B, button 14C, button 14D and button 14E, aresituated in a cross shape in the upper part of the region to theright-hand side of the lower LCD 12. The button 14B, button 14C, button14D and button 14E are situated in a place where the thumb of a user'sright hand is naturally positioned when gripping the lower housing 11.The power button 14F is situated in the lower part of the region to theright-hand side of the lower LCD 12.

The select button 14J, the home button 14K and the start button 14L arerespectively situated in the region below the lower LCD 12.

The buttons 14A to 14E, the select button 14J, the home button 14K andthe start button 14L are assigned appropriately to functionscorresponding to a program which is executed by the game device 10. Forexample, the four-way button 14A is used for selection operations andcharacter movement operations during a game, and the like. The operatingbuttons 14B to 14E, for example, are used for a setting operation or acanceling operation, or the like. Furthermore, the power button 14F isused to switch the power supply of the game device 10 on and off.

The analog stick 15 is a device for indicating directions. The analogstick 15 is provided in the upper part of the region to the left-handside of the lower LCD 12 on the inner surface (main surface) of thelower housing 11. More specifically, the analog stick 15 is providedabove the four-way button 14A. Moreover, the analog stick 15 is locatedin a position where it can be operated by the thumb of a user's lefthand when gripping the lower housing 11. By providing the analog stick15 in the upper part, the analog stick 15 is situated in a place wherethe thumb of a user's left hand is naturally positioned when grippingthe lower housing 11. The four-way button 14A is situated in a positionslightly below the thumb of the user's left hand when gripping the lowerhousing 11. Therefore, the user is able to operate the analog stick 15and the four-way button 14A simply by moving his or her left thumb up ordown while gripping the lower housing 11. The analog stick 15 iscomposed in such a manner that the top of the key slides in parallelwith the inner surface of the lower housing 11. The analog stick 15functions in accordance with the program being executed by the gamedevice 10. For example, when a game in which a predetermined objectappears in a three-dimensional virtual space is executed by the gamedevice 10, the analog stick 15 functions as an input device for movingthe predetermined object within the three-dimensional virtual space. Inthis case, the predetermined object is moved in the direction in whichthe key top of the analog stick 15 is slid. For the analog stick 15, itis possible to use a stick capable of producing an analog input bytilting by a predetermined amount in any one of the upward, downward,leftward or rightward directions or an oblique direction.

The four buttons, button 14B, button 14C, button 14D and button 14E, andthe analog stick 15 are disposed in laterally symmetrical positions oneither side of the lower LCD 12. By this means, depending on the gameprogram, a left-handed person, for example, is able to input a directioninstruction by using the four buttons, button 14B, button 14C, button14D and button 14E.

The first LED 16A (FIG. 1) notifies the user of the power on/off stateof the game device 10. The first LED 16A is provided on the right-handside of the edge portion common to the inner surface (main surface) ofthe lower housing 11 and the lower side face of the lower housing 11. Bythis means, the user is able to see whether or not the first LED 16A islit, regardless of the open and closed state of the game device 10.

The microphone hole 18 is a hole for a microphone which is built intothe game device 10 as a voice input device. The built-in microphonedetects external sounds via the microphone hole 18. The microphone andthe microphone hole 18 are provided below the power button 14F on theinner surface (main surface) of the lower housing 11.

An insertion hole 17 for a touch pen 28 (indicated by dotted lines inFIG. 1 and FIG. 3D) is provided in the upper side face of the lowerhousing 11. The touch pen 28 used for performing operations on the touchpanel 13 can be accommodated via the insertion hole 17. Inputs via thetouch panel 13 are usually performed using the touch pen 28. However,the user may also use his or her finger, instead of the touch pen 28.

The game device 10 and an insertion hole 11D (indicated by a dotted linein FIG. 1 and FIG. 3D) for inserting an external memory 45 on which agame program is recorded are provided in the upper side face of thelower housing 11. A connector (not illustrated) for electricallyconnecting the external memory 45 and an internal circuit in adetachable fashion is provided inside the insertion hole 11D. Byconnecting the external memory 45 to the game device 10, a predeterminedgame program is executed by a processor included in the internalcircuit. The connector and the insertion hole 11D may be provided inanother side face (for example, the right-hand side face) of the lowerhousing 11.

Speaker holes 21E, an upper LCD 22, an inside imaging unit 24, a 3Dadjustment switch 25, and a 3D indicator 26 are provided on the innersurface 21B of the upper housing 21 shown in FIG. 1.

The upper LCD 22 is a display device which is capable of displayingstereoscopically viewable images. The upper LCD 22 is capable ofdisplaying a left-eye image and a right-eye image using substantiallythe same display region. More specifically, the upper LCD 22 is adisplay device based on a method in which a left-eye image and aright-eye image are displayed alternately in predetermined units (forexample, one column each) in the horizontal direction. The upper LCD 22may also be a display device based on a method in which a left-eye imageand a right-eye image are displayed alternately. Furthermore, the upperLCD 22 is a display device producing a display which can be viewedstereoscopically with the naked eye. In this case, the upper LCD 22employs a lenticular method or parallax barrier method in such a mannerthat a left-eye image and a right-eye image which are displayedalternatively in the horizontal direction are viewed separately by theleft eye and the right eye, respectively. In the present embodiment, theupper LCD 22 is a display device based on a parallax barrier method. Theupper LCD 22 displays an image (stereoscopic image) which can be viewedstereoscopically with the naked eye, by using a left-eye image and aright-eye image. More specifically, the upper LCD 22 is able to displaya stereo image (a stereoscopically viewable image) which creates athree-dimensional impression for the user, by causing the left-eye imageand the right-eye image to be viewed respectively by the user's left eyeand the user's right eye, by means of a parallax barrier. Furthermore,in the upper LCD 22, the parallax barrier can be disabled, and when theparallax barrier is disabled, an image can be displayed in planar view(the opposite of the stereoscopic view described above; in other words,a display mode in which the same displayed image is viewed by both theright eye and the left eye). In this way, the upper LCD 22 is a displaydevice capable of switching between a stereoscopic display mode whichdisplays stereoscopically viewable image and a planar display mode whichdisplays an image in planar view (displays a planar image). Thisswitching of the display mode is performed by means of a 3D adjustmentswitch 25, which is described below.

The upper LCD 22 is accommodated in the upper housing 21. The upper LCD22 is a horizontally long rectangular shape, and is arranged in thecenter of the upper housing 21 with the long edge direction coincidingwith the long edge direction of the upper housing 21. The surface areaof the screen of the upper LCD 22 is set to be larger than the surfacearea of the screen of the lower LCD 12, for example. More specifically,the screen of the upper LCD 22 is set to have a greater horizontallength than the screen of the lower LCD 12. More specifically, the ratioof the horizontal width in the aspect ratio of the screen in the upperLCD 22 is set to be greater than the ratio of the horizontal width inthe aspect ratio of the screen in the lower LCD 12.

The screen of the upper LCD 22 is provided on the inner surface (mainsurface) 21B of the upper housing 21, and the screen of the upper LCD 22is exposed via an opening section provided in the inner surface 21B ofthe upper housing 21. Furthermore, the inner surface of the upperhousing 21 is covered with a transparent screen cover 27. The screencover 27 protects the screen of the upper LCD 22 and is also integratedwith the upper LCD 22 and the inner surface of the upper housing 21 soas to create a unified impression. The number of pixels of the upper LCD22 is 800 dot×240 dot (horizontal×vertical), for instance. In thepresent embodiment, the upper LCD 22 is described as being a liquidcrystal device. However, it is not limited to this and a display deviceusing EL, or the like, for example, may also be used. Furthermore, it ispossible to use a display device of any resolution for the upper LCD 22.

The speaker holes 21E are holes for outputting sound from a speaker 44which is a sound output device of the game device 10. The speaker holes21E are disposed in lateral symmetry on either side of the upper LCD.Sound from speakers 44, which are described below, is output via thespeaker holes 21E.

The inside imaging unit 24 is an imaging unit having an imagingdirection in an inward normal direction to the inner surface 21B of theupper housing 21. The inside imaging unit 24 includes an imaging elementhaving a predetermined resolution and a lens. The imaging element is,for example, a CCD image sensor, a CMOS image sensor, or the like. Thelens may include a zoom mechanism.

The inside imaging unit 24 is disposed above the upper end of the screenof the upper LCD 22 on the inner surface 21B of the upper housing 21, ina central position in the left/right direction of the upper housing 21(on a line which divides the upper housing 21 (the screen of the upperLCD 22) into two equal parts in the left/right direction). By arrangingthe inside imaging unit 24 in this way, it is possible to capture animage of the user's face from the front side with the inside imagingunit 24, when the user is looking straight at the upper LCD 22. Anoutside left imaging unit 23 a and an outside right imaging unit 23 bare described below.

The 3D adjustment switch 25 is a sliding switch, which is used to switchthe display mode of the upper LCD 22, as described previously.Furthermore, the 3D adjustment switch 25 is used to adjust thethree-dimensional impression of the stereoscopically viewable image(stereo image) displayed on the upper LCD 22. The 3D adjustment switch25 is provided in the edge portion of the upper housing 21 which iscommon to the inner surface 21B and the right side face, so as to bevisible by the user regardless of the open and closed state of the gamedevice 10. The 3D adjustment switch 25 has a slider which can be slid toany position in a predetermined direction (for example, the up/downdirection), the display mode of the upper LCD 22 being set in accordancewith the position of the slider.

For example, if the slider of the 3D adjustment switch 25 is situated inthe lowest position, then the upper LCD 22 is set to planar displaymode, and a planar image is displayed on the screen of the upper LCD 22.It is also possible to provide a planar display by leaving the upper LCD22 in the stereoscopic display mode and using the same image for theleft-eye image and the right-eye image. On the other hand, if the slideris situated to the upper side of the lowest position described above,then the upper LCD 22 is set to stereoscopic display mode. In this case,a stereoscopically viewable image is displayed on the screen of theupper LCD 22. Here, if the slider is situated above the lowest position,then the appearance of the stereo image is adjusted in accordance withthe position of the slider. More specifically, the amount ofdisplacement of the lateral direction positions of the right-eye imageand the left-eye image is adjusted in accordance with the position ofthe slider.

The 3D indicator 26 indicates whether the upper LCD 22 is instereoscopic display mode. For example, the 3D indicator 26 is an LED,which lights up when the stereoscopic display mode of the upper LCD 22is enabled. The 3D indicator 26 is provided on the inner surface 21B ofthe upper housing 21, and in the vicinity of the screen of the upper LCD22. Consequently, if the user is looking straight at the screen of theupper LCD 22, the user is able to see the 3D indicator 26 easily.Therefore, the user is able readily to identify the display mode of theupper LCD 22, even while looking at the screen of the upper LCD 22.

FIG. 2 is a front right side diagram showing one example of the gamedevice 10 in an open state. A second LED 16B, a wireless switch 19 andan R button 14H are provided in the right side face of the lower housing11. By lighting up, the second LED 16B notifies the user of theestablished status of wireless communication of the game device 10. Thegame device 10 is able to perform wireless communication with otherdevices, and the second LED 16B lights up when wireless communicationwith another device has been established. The game device 10 has afunction of connecting to a wireless LAN by a method conforming to theIEEE 802.11b/g standard, for example. The wireless switch 19 enables ordisables the wireless communication function. The R button 14H isdescribed below.

FIG. 3A is a left side diagram showing one example of a game device 10in a closed state. An openable cover section 11C, an L button 14G and avolume button 14I are provided on the left side face of the lowerhousing 11 shown in FIG. 3A. The volume button 14I is a button foradjusting the volume of the speakers 44 provided in the game device 10.

A connector (not illustrated) for electrically connecting the gamedevice 10 with an external data memory 46 (see FIG. 1) is provided onthe inside of the cover section 11C. The external data memory 46 isinstalled detachably in the connector. The external data memory 46 isused, for example, to store (save) data of images captured by the gamedevice 10. The connector and the cover section 11C may also be providedon the right side face of the lower housing 11. The L button 14G isdescribed below.

FIG. 3B is a front view diagram showing one example of the game device10 in a closed state. An outside left imaging unit 23 a, an outsideright imaging unit 23 b and a third LED 29 are provided in the outersurface of the upper housing 21 shown in FIG. 3B.

The outside left imaging unit 23 a and the outside right imaging unit 23b respectively include an imaging element having a predetermined commonresolution (for example, a CCD image sensor or a CMOS image sensor, orthe like), and a lens. The lens may include a zoom mechanism. Theimaging direction of both the outside left imaging unit 23 a and theoutside right imaging unit 23 b is an outward normal direction from theouter surface 21D. In other words, the imaging direction (visual axis ofthe camera) of the outside left imaging unit 23 a and the imagingdirection of the outside right imaging unit 23 b are mutually parallel.The outside left imaging unit 23 a and the outside right imaging unit 23b are referred to jointly below as the outside imaging unit 23.

The outside left imaging unit 23 a and the outside right imaging unit 23b which constitute the outside imaging unit 23 are arranged in line inthe horizontal direction of the screen of the upper LCD 22. In otherwords, the outside left imaging unit 23 a and the outside right imagingunit 23 b are arranged in such a manner that a straight line linking theoutside left imaging unit 23 a and the outside right imaging unit 23 blies in the horizontal direction of the screen of the upper LCD 22.Furthermore, if the user turns the upper housing 21 to a predeterminedangle (for example, 90°) with respect to the lower housing 11 and viewsthe screen of the upper LCD 22 from the front, then the outside leftimaging unit 23 a is positioned on the left-hand side of the userviewing the screen and the outside right imaging unit 23 b is positionedon the right-hand side of the user viewing the screen (see. FIG. 1). Thedistance between the outside left imaging unit 23 a and the outsideright imaging unit 23 b is set to approximately the distance between aperson's eyes, for example, this distance may be set in the range of 30mm to 70 mm. However, the distance between the outside left imaging unit23 a and the outside right imaging unit 23 b is not limited to thisrange. In the present embodiment, the outside left imaging unit 23 a andthe outside right imaging unit 23 b are fixed to the upper housing 21and the imaging direction thereof cannot be changed.

The outside left imaging unit 23 a and the outside right imaging unit 23b are respectively disposed in symmetrical positions with respect to aline dividing the upper LCD 22 (upper housing 21) into two equal partsin the left/right direction. Furthermore, the outside left imaging unit23 a and the outside right imaging unit 23 b are disposed in the upperpart of the upper housing 21 on the rear side of positions above theupper end of the screen of the upper LCD 22, when the upper housing 21is open (see FIG. 1). In other words, the outside left imaging unit 23 aand the outside right imaging unit 23 b are disposed on the outersurface of the upper housing 21, above the upper end of the screen ofthe upper LCD 22 when the upper LCD 22 is projected to a position on theouter surface.

In this way, by arranging the outside left imaging unit 23 a and theoutside right imaging unit 23 b in linear symmetry with respect to thecentral line in the short edge direction of the upper LCD 22, therespective imaging directions of the outside imaging unit 23 can be madeto coincide with the respective lines of sight of the user's left andright eyes, when the user is looking straight at the upper LCD 22.Furthermore, because the outside imaging unit 23 is disposed in a rearside position above the upper end of the screen of the upper LCD 22,then there is no interference between the outside imaging unit 23 andthe upper LCD 22 inside the upper housing 21. Moreover, the outside leftimaging unit 23 a and the outside right imaging unit 23 b are providedin lateral symmetry on either side of the projected position of theinside imaging unit 24, when the inside imaging unit 24, which isprovided on the inner surface of the upper housing 21, is projected tothe outer surface of the upper housing 21, as indicated by the dottedline in FIG. 3B. Consequently, it is possible to make the upper housing21 thinner compared to a case where the outside imaging unit 23 isdisposed to the rear side of the screen of the upper LCD 22 or a casewhere the outside imaging unit 23 is disposed to the rear side of theinside imaging unit 24.

The outside left imaging unit 23 a and the outside right imaging unit 23b can be used as stereo cameras by the program executed by the gamedevice 10. Furthermore, either one of the two outside imaging elements(the outside left imaging unit 23 a and the outside right imaging unit23 b) can be used independently depending on the program, allowing theoutside imaging unit 23 to be used as a non-stereo camera. If executinga program which uses the outside imaging units 23 a and 23 b as stereocameras, the outside left imaging unit 23 a captures a left-eye imagewhich is seen by the user's left eye and the outside right imaging unit23 b captures a right-eye image which is seen by the user's right eye.Furthermore, the program can also synthesize images captured by the twooutside imaging units (the outside left imaging unit 23 a and theoutside right imaging unit 23 b), or use the images in complementaryfashion to perform imaging in an expanded imaging range. Moreover, it isalso possible to generate a left-eye image and a right-eye image havingparallax, from a single image captured by one of the outside imagingunits 23 a and 23 b, so as to produce a pseudo-stereo image just likeone captured by two cameras. In generating a pseudo-stereo image of thiskind, the distance between the virtual cameras can be set as desired.

The third LED 29 lights up when the outside imaging unit 23 isoperating, thereby indicating that the outside imaging unit 23 isoperating. The third LED 29 is provided in the vicinity of the outsideimaging unit 23 on the outer surface of the upper housing 21.

FIG. 3C is a right side diagram showing one example of the game device10 in a closed state. FIG. 3D is a rear view diagram showing one exampleof the game device 10 in a closed state.

An L button 14G and an R button 14H are provided on the upper surface ofthe lower housing 11 shown in FIG. 3D. The L button 14G is provided inthe left end portion of the upper surface of the lower housing 11 andthe R button 14H is provided in the right end portion of the uppersurface of the lower housing 11. The L button 14G and the R button 14Hare assigned to appropriate functions corresponding to the programexecuted by the game device 10. For example, the L button 14G and the Rbutton 14H function as shutter buttons (imaging instruction buttons) forthe respective imaging units described above.

Although not shown in the drawings, a rechargeable battery forming apower source for the game device 10 is accommodated in the lower housing11, and this battery can be recharged via a terminal provided in a sideface (for example, the upper side face) of the lower housing 11.

FIG. 4 and FIG. 5 respectively show one example of the state of use ofthe game device 10. FIG. 4 is a diagram showing one example of asituation where a user is gripping the game device 10 with both hands.

In the example shown in FIG. 4, the user grips the inner surface and theouter surface (the surface on the opposite side to the inner surface) ofthe lower housing 11 with the palm, middle finger, fourth finger andlittle finger of each hand, with the lower LCD 12 and the upper LCD 22facing towards the user. By gripping the device in this way, the user isable to operate the operating buttons 14A to 14E and the analog stick 15with his or her left and right thumbs and operate the L button 14G andthe R button 14H with his or her left and right index fingers, whilegripping the lower housing 11.

FIG. 5 is a diagram showing one example of a situation where a user isgripping the game device 10 with one hand. In the example shown in FIG.5, when making an input to the touch panel 13, the user releases one ofthe hands gripping the lower housing 11 and grips the lower housing 11with the other hand only. By this means, the user is able to make inputsto the touch panel 13 with the released hand.

FIG. 6 is a block diagram showing one example of the internalcomposition of the game device 10. The game device 10 comprises, inaddition to the constituent parts described above, electroniccomponents, such as an information processing unit 31, a main memory 32,an external memory interface (external memory I/F) 33, an external datamemory I/F 34, an internal data memory 35, a wireless communicationmodule 36, a local communication module 37, a real-time clock (RTC) 38,an acceleration sensor 39, an angular rate sensor 40, a power supplycircuit 41 and an interface circuit (I/F circuit) 42, and the like.These electronic components are mounted on an electronic circuit boardand are accommodated inside the lower housing 11 (or inside the upperhousing 21).

The information processing unit 31 is information processing meanscomprising a CPU (Central Processing Unit) 311 for executing apredetermined program and a GPU (Graphics Processing Unit) 312 forperforming image processing, or the like. In the present embodiment, thepredetermined program is stored in a memory inside the game device 10(for example, an external memory 45 connected to the external memory I/F33 or the internal data memory 35). The CPU 311 of the informationprocessing unit 31 executes image processing and game processing asdescribed below, by executing the predetermined program. The programexecuted by the CPU 311 of the information processing unit 31 may beacquired from another device by means of communication with the otherdevice. Furthermore, the information processing unit 31 includes a VRAM(Video RAM) 313. The GPU 312 of the information processing unit 31generates an image in accordance with a command from the CPU 311 of theinformation processing unit 31 and renders the image in the VRAM 313.The GPU 312 of the information processing unit 31 outputs the imagerendered in the VRAM 313 to the upper LCD 22 and/or the lower LCD 12,and this image is displayed on the upper LCD 22 and/or the lower LCD 12.

The main memory 32, external memory I/F 33, external data memory I/F 34,and internal data memory 35 are connected to the information processingunit 31. The external memory I/F 33 is an interface for detachablyconnecting the external memory 45. Furthermore, the external data memoryI/F 34 is an interface for detachably connecting the external datamemory 46.

The main memory 32 is volatile storage means which is used as a workarea or buffer area of the information processing unit 31 (CPU 311). Inother words, the main memory 32 temporarily stores various data used inimage processing and game processing, and temporarily stores a programacquired from an external source (the external memory 45, anotherdevice, or the like). In the present embodiment, a PSRAM (Pseudo-SRAM),for example, is used as the main memory 32.

The external memory 45 is non-volatile storage means for storing aprogram which is executed by the information processing unit 31. Theexternal memory 45 is composed by a read-only semiconductor memory, forexample. When the external memory 45 is connected to the external memoryI/F 33, the information processing unit 31 is able to read a programstored in the external memory 45. Predetermined processing is carriedout by executing the program read in by the information processing unit31. The external data memory 46 is constituted by a non-volatilerewriteable memory (for example, a NAND type flash memory), and is usedto store predetermined data. For example, images captured by the outsideimaging unit 23 or images captured by another device are stored in theexternal data memory 46. When the external data memory 46 is connectedto the external data memory I/F 34, the information processing unit 31is able to read in images stored in the external data memory 46 anddisplay the images on the upper LCD 22 and/or the lower LCD 12.

The internal data memory 35 is constituted by a non-volatile rewriteablememory (for example, a NAND type flash memory), and is used to storepredetermined data. For example, data and programs downloaded bywireless communication via the wireless communication module 36 arestored in the internal data memory 35.

The wireless communication module 36 has a function of connecting to awireless LAN by a method conforming to the IEEE 802.11b/g standard, forexample. Furthermore, the local communication module 37 has a functionof performing wireless communication with a game device of the sametype, by means of a predetermined communication method (for example,infrared communication). The wireless communication module 36 and thelocal communication module 37 are connected to the informationprocessing unit 31. The information processing unit 31 can use thewireless communication module 36 to send and receive data to and fromother devices via the Internet, and can use the local communicationmodule 37 to send and receive data to and from other game devices of thesame type.

The acceleration sensor 39 is connected to the information processingunit 31. The acceleration sensor 39 determines the magnitude ofacceleration (linear acceleration) in linear directions following threeaxial directions (in the present embodiment, the xyz axes). Theacceleration sensor 39 is provided inside the lower housing 11, forexample. As shown in FIG. 1, the acceleration sensor 39 respectivelydetermines the magnitude of the linear acceleration of the game device10 produced in each axial direction, taking the x axis to be the longedge direction of the lower housing 11, taking the y axis to be theshort edge direction of the lower housing 11, and taking the z axis tobe direction perpendicular to the inner surface (main surface) of thelower housing 11. The acceleration sensor 39 is, for instance, anelectrostatic capacitance type of acceleration sensor, but it is alsopossible to use an acceleration sensor based on another method.Furthermore, the acceleration sensor 39 may also be an accelerationsensor which determines acceleration in one axial direction or two axialdirections. The information processing unit 31 receives data indicatingthe acceleration as determined by the acceleration sensor 39(acceleration data), and calculates the attitude and movement of thegame device 10.

The angular rate sensor 40 is connected to the information processingunit 31. The angular rate sensor 40 respectively determines the angularvelocity produced about the three axes of the game device 10 (in thepresent embodiment, the xyz axes), and outputs data indicating thedetermined angular velocities (angular velocity data) to the informationprocessing unit 31. The angular rate sensor 40 is provided inside thelower housing 11, for example. The information processing unit 31receives angular velocity data output from the angular rate sensor 40and calculates the attitude and movement of the game device 10.

The RTC 38 and power supply circuit 41 are connected to the informationprocessing unit 31. The RTC 38 outputs a time count to the informationprocessing unit 31. The information processing unit 31 calculates acurrent time (and date) on the basis of the time measured by the RTC 38.The power supply circuit 41 controls the power from the power source ofthe game device 10 (the rechargeable battery accommodated in the lowerhousing 11) and supplies power to the respective components of the gamedevice 10.

The I/F circuit 42 is connected to the information processing unit 31.The microphone 43, speakers 44 and touch panel 13 are connected to theI/F circuit 42. More specifically, the speakers 44 are connected to theI/F circuit 42 via an amplifier which is not illustrated. The microphone43 detects the user's voice and outputs an audio signal to the I/Fcircuit 42. The amplifier amplifies the audio signal from the I/Fcircuit 42, and outputs sound to the speakers 44. The I/F circuit 42includes an audio control circuit which controls the microphone 43 andthe speakers 44 (amplifier), and a touch panel control circuit whichcontrols the touch panel 13. The audio control circuit performs A/Dconversion and D/A conversion of the audio signal, or converts the audiosignal to audio data of a predetermined format. The touch panel controlcircuit generates touch position data of a predetermined format on thebasis of a signal from the touch panel 13 and outputs the touch positiondata to the information processing unit 31. The touch position dataindicates the coordinates of a position where an input has been made(touch position) on the input surface of the touch panel 13. The touchpanel control circuit reads in a signal from the touch panel 13 andgenerates touch position data at a rate of once every predetermined timeperiod. The information processing unit 31 can identify the touchposition where input has been made on the touch panel 13, by acquiringthe touch position data.

The operating buttons 14 include the operating buttons 14A to 14Lmentioned above, and are connected to the information processing unit31. Operating data indicating the input status of the respectiveoperating buttons 14A to 14I (whether or not the button is pressed) isoutput to the information processing unit 31 from the operating buttons14. The information processing unit 31 executes processing in accordancewith the inputs to the operating buttons 14, by acquiring operating datafrom the operating buttons 14.

The lower LCD 12 and the upper LCD 22 are connected to the informationprocessing unit 31. The lower LCD 12 and the upper LCD 22 display imagesin accordance with instructions from the information processing unit 31(GPU 312). In the present embodiment, the information processing unit 31causes an image for a handwritten image input operation to be displayedon the lower LCD 12, and causes an image acquired by either the outsideimaging unit 23 or the inside imaging unit 24 to be displayed on theupper LCD 22. In other words, the information processing unit 31 causesa stereo image (a stereoscopically viewable image) using a right-eyeimage and a left-eye image captured by the outside imaging unit 23 to bedisplayed on the upper LCD 22, or causes a planar image captured by theinside imaging unit 24 to be displayed on the upper LCD 22, or causes aplanar image using one of the right-eye image and the left-eye imagecaptured by the outside imaging unit 23 to be displayed on the upper LCD22.

More specifically, the information processing unit 31 is connected to anLCD controller (not illustrated) of the upper LCD 22, and controls theon/off switching of the parallax barrier in the LCD controller. If theparallax barrier of the upper LCD 22 is switched on, then the right-eyeimage and the left-eye image stored in the VRAM 313 of the informationprocessing unit 31 (images captured by the outside imaging unit 23) areoutput to the upper LCD 22. More specifically, the LCD controller readsout a right-eye image and a left-eye image from the VRAM 313 byalternately repeating a process of reading out pixel data for one linein the vertical direction in respect of the right-eye image and aprocess of reading out pixel data for one line in the vertical directionin respect of the left-eye image. By this means, the right-eye image andthe left-eye image are divided into strip-shaped images in which pixelsare aligned vertically for each line, and an image formed by alternatelyarranging the divided strip-shaped images of the right-eye image andstrip-shaped images of the left-eye image is displayed on the screen ofthe upper LCD 22. When this image is viewed by the user via the parallaxbarrier of the upper LCD 22, the right-eye image is viewed by the user'sright eye and the left-eye image is viewed by the user's left eye. Bythis means, a stereoscopically viewable image is displayed on the screenof the upper LCD 22.

The outside imaging unit 23 and the inside imaging unit 24 are connectedto the information processing unit 31. The outside imaging unit 23 andthe inside imaging unit 24 capture images in accordance with aninstruction from the information processing unit 31, and output capturedimage data to the information processing unit 31. In the presentembodiment, an imaging instruction is issued to either one of theoutside imaging unit 23 and the inside imaging unit 24, and the imagingunit receiving the imaging instruction captures an image and sends imagedata to the information processing unit 31. More specifically, animaging unit to be used is selected by an operation performed by theuser via the touch panel 13 or the operating buttons 14. The informationprocessing unit 31 (CPU 311) detects that an imaging unit has beenselected and duly issues an imaging instruction to the outside imagingunit 23 or the inside imaging unit 24.

When the outside imaging unit 23 or the inside imaging unit 24 isstarted up by an instruction from the information processing unit 31(CPU 311), imaging is performed at a rate of 60 frames per second, forexample. The images captured by the outside imaging unit 23 or theinside imaging unit 24 are successively supplied to the informationprocessing unit 31, and displayed on the upper LCD 22 or the lower LCD12 by the information processing unit 31 (GPU 312). When the capturedimages are output to the information processing unit 31, the images arestored in the VRAM 313 and output to the upper LCD 22 or the lower LCD12, and then deleted at a predetermined timing. By capturing images at arate of 60 frames per second, for example, and displaying the capturedimages, the game device 10 can display the scene in the imaging range ofthe outside imaging unit 23 and the inside imaging unit 24, in realtime, on the upper LCD 22 or the lower LCD 12.

The 3D adjustment switch 25 is connected to the information processingunit 31. The 3D adjustment switch 25 sends an electric signalcorresponding to the position of the slider to the informationprocessing unit 31.

The 3D indicator 26 is connected to the information processing unit 31.The information processing unit 31 controls the lighting up of the 3Dindicator 26. For example, if the upper LCD 22 is in stereoscopicdisplay mode, then the information processing unit 31 causes the 3Dindicator 26 to light up.

<Configuration of Functions>

FIG. 7 is a diagram schematically showing one example of a functionalcomposition of the game device 10 according to the present embodiment.As a result of the information processing unit 31 executing a programextracted on the main memory 32 and controlling the respectiveconstituent parts described with reference to FIG. 6, the game device 10according to the present embodiment functions as a game devicecomprising an input/output unit 51, a playback control unit 52, a usefrequency acquiring unit 53, a data selecting unit 54, a group selectingunit 55, a superior group identifying unit 56, a determination unit 57,a superior group changing unit 58, and a processing object specifyingunit 59. Moreover, while the respective functional units described aboveare realized in the present embodiment by the information processingunit 31 comprising the CPU 311, a part of or all of the respectivefunctional units described above may be realized by dedicated processorsinstead of the CPU 311.

In addition, in the present embodiment, files in the external datamemory 46 are music files and correspond to data according to thepresent disclosure. Furthermore, a folder containing the respectivefiles corresponds to a group according to the present disclosure.However, while music files are set as the type of data to becomeprocessing objects in the present embodiment, the present disclosure maybe applied to an information processing device that sets other types ofdata as processing objects. For example, processing object data mayalternatively be image files, video files, document files, and the like.

The playback control unit 52 provides a user with a music filemanagement/playback function by managing and playing back music filesrecorded on the external data memory 46 (in the example shown in thepresent embodiment, an SD (registered trademark) card) connected to aconnector provided inside the cover section 11C. In addition, theplayback control unit 52 records a history of a music file that has beenplayed back (hereinafter, referred to as a “playback history”)regardless of whether the playback is a normal playback process or ashuffle playback process, which will be described later. Playbackhistory is information corresponding to usage history according to thepresent disclosure, and may be recorded per file based on a playbackcount associated with identification information of the file (forexample, a file path) or may be recorded per playback of a fileaccording to sequential accumulation of file identification information(for example, a file path) regarding playback.

Moreover, the game device 10 according to the present embodimentaccommodates data compression formats such as MP3 (MPEG Audio Layer-3)and AAC (Advanced Audio Coding), and is capable of playing back musicfiles compressed in these data compression formats in both a normalplayback process in which the user selects and plays back a desiredmusic file and a shuffle playback process to be described later.However, a detailed description of a normal playback process will beomitted in the description of the present embodiment.

The use frequency acquiring unit 53 acquires a playback frequency of afile or a folder. In the present embodiment, objects of acquisition ofplayback frequency are music files. The use frequency acquiring unit 53acquires a playback frequency of a file by referencing a playbackhistory recorded by the playback control unit 52. When the playbackhistory is recorded based on a playback count, the use frequencyacquiring unit 53 acquires the playback frequency of the file byacquiring the playback count, and when the playback history is recordedbased on an accumulation of identification information, the usefrequency acquiring unit 53 acquires the playback frequency of the fileby compiling the accumulated identification information (by integratingthe number of pieces of identification information). In addition, theuse frequency acquiring unit 53 is capable of identifying, from aplayback history of a file, a folder containing each file included inthe playback history and requesting a playback history of the folder. Aplayback frequency of a folder can be acquired from a playback historyof the folder obtained in this manner. Moreover, instead of obtaining aplayback history of a folder from a playback history of a file, aplayback history of a folder may be arranged to be separately recordedin addition to a playback history of a file every time a file is playedback.

The data selecting unit 54 selects a file through a predeterminedprocess. As the predetermined process, a process of selecting data fromdata satisfying a predetermined condition or a process of selecting datafrom all pieces of data is adopted. More specifically, in the presentembodiment, as a process of selecting data from data satisfying apredetermined condition, a process is adopted in which one file israndomly selected from files having a playback frequency, acquired bythe use frequency acquiring unit 53, which ranks within the top ten(this value may be appropriately set according to the embodiment) inplayback frequencies. In addition, as a process of selecting data fromall pieces of data, a process is adopted in which one file is randomlyselected from all music files recorded on the external data memory 46.In the present embodiment, while such processes are set as thepredetermined process and one file is selected by the execution of theset predetermined process, other processes may be set as thepredetermined process. For example, a process in which one file israndomly selected from files having a playback frequency which rankswithin the bottom ten (this value may be appropriately set according tothe embodiment) in playback frequencies may be adopted as thepredetermined process.

Furthermore, the predetermined condition may be set to conditions suchas a name of a file or a title of a song related to the file including acertain word, a song included in the file having a certain melody ortempo, or playback time being within a certain period of time. Moreover,a plurality of conditions may be set as the predetermined condition suchas a file having a playback frequency that ranks within the top tenplayback frequencies and the file including a song with a certainmelody. In this case, when information such as melody and playback timecannot be acquired from the management information of a file (forexample, a file management table), the information can be acquired byopening the file and referencing meta-information (a tag or the like) inthe file or analyzing contents of actual data included in the file.

The group selecting unit 55 selects a folder through a predeterminedprocess. As the predetermined process, a process of selecting a folderfrom folders satisfying a predetermined condition or a process ofselecting a folder from all folders is adopted. More specifically, inthe present embodiment, as a process of selecting a folder from folderssatisfying a predetermined condition, a process is adopted in which onefolder is randomly selected from folders having a playback frequency,acquired by the use frequency acquiring unit 53, which ranks within thetop ten (this value may be appropriately set according to theembodiment) in playback frequencies. In addition, as a process ofselecting a folder from all folders, a process is adopted in which onefolder is randomly selected from all folders recorded on the externaldata memory 46. In the present embodiment, while such processes are setas the predetermined process and one folder is selected by the executionof the set predetermined process, other processes may be set as thepredetermined process. For example, a process in which one folder israndomly selected from folders having a playback frequency which rankswithin the bottom ten (this value may be appropriately set according tothe embodiment) in playback frequencies may be adopted as thepredetermined process.

Furthermore, the predetermined condition may be set to conditions suchas the number of files contained in a folder being within a certainnumber range or a name of a folder or a name of an artist related to thefolder including a certain word. When such information cannot beacquired from the management information of a file, the information canbe acquired by opening the file included in the folder and referencingmeta-information (a tag or the like) in the file or analyzing contentsof actual data included in the file.

The superior group identifying unit 56 identifies a superior folder thatis at least one level higher than a predetermined folder. Folders of therespective files in the external data memory 46 connected to the gamedevice 10 according to the present embodiment are managed by means of atree structure. Specifically, files in the external data memory 46 aremanaged using a hierarchically-structured file system and a directorystructure. Therefore, the superior group identifying unit 56 identifiesa superior group by identifying a superior folder that is at least onelevel higher than a folder containing the file selected by the dataselecting unit 54 (at least two levels higher when the selected file isset as a starting point) or by identifying a superior folder that is atleast one level higher than a folder selected by the group selectingunit 55.

The determination unit 57 makes determinations on whether or not anappropriate superior folder has been identified such as a determinationon whether or not a superior folder has been identified and adetermination on whether or not a plurality of subordinate folderscontaining a predetermined type of files (in the present embodiment,music files) is subordinate to a superior folder.

When it is determined by the determination unit 57 that an appropriatesuperior group has not been identified, the superior group changing unit58 changes a superior group by retracing at least one level higher thanthe superior group identified by the superior group identifying unit 56.

The processing object specifying unit 59 specifies a file contained in asubordinate folder that is subordinate to a superior folder as aprocessing object (in the present embodiment, a processing object of ashuffle playback process).

The input/output unit 51 accepts input based on a user operation viavarious input devices provided in the game device 10 such as the touchpanel 13, the operating buttons 14A to 14L, and the built-in microphone43, and performs output to the user via various output devices providedin the game device 10 such as the upper LCD 22, the lower LCD 12, andthe speaker 44.

<User Interface>

Next, a user interface when using a music file management/playbackfunction according to the present embodiment will be described.

FIG. 8 is a diagram showing one example of the game device 10 in a statewhere a top screen of a music file management/playback functioninterface according to the present embodiment is displayed. When themusic file management/playback function is executed by a user from aninitial screen (not shown) displayed after activation of the game device10 by, for example, selecting a button image displayed on the initialscreen using the touch panel 13 or the operating buttons 14A to 14L, theinput/output unit 51 causes the top screen shown in FIG. 8 to bedisplayed on the upper LCD 22 and the lower LCD 12 to provide the userwith the music file management/playback function. On the top screen,menu items selectable by the user (in the example shown in FIG. 8,“Recording and Playing with Sounds”, “Random”, “SD (registeredtrademark) card”, and the like) is displayed on the lower LCD 12,whereby the user can change a desired menu item to a selected state byusing the touch panel 13 or the operating buttons 14A to 14L. Inaddition, the upper LCD 22 displays a submenu included in the menu itemthat is in a selected state on the lower LCD 12.

In the game device 10 according to the present embodiment, by changingthe menu item “Recording and Playing with Sounds” to a selected stateand then finalizing the selection, sound acquired via the built-inmicrophone 43 can be recorded. However, a detailed description of arecording function will be omitted in the description of the presentembodiment. Furthermore, in the game device 10 according to the presentembodiment, by changing the menu item “SD (registered trademark) card”to a selected state and then finalizing the selection, a list of musicfiles recorded on the external data memory 46 can be referenced and adesired music file can be selected and played back from the list.

Moreover, in the game device 10 according to the present embodiment,operations for changing a menu item to a selected state includes anoperation involving holding the lower LCD 12 and tapping an area of thetouch panel 13 which displays a character string of the menu item withthe touch pen 28 or a finger, and an operation involving switching themenu item in a selected state to another menu item using the four-waybutton 14A (direction input button 14A) or the analog stick 15.

In addition, in the game device 10 according to the present embodiment,operations for finalizing a selection of a menu item includes anoperation performed when any of the menu items is in a selected stateinvolving, for example, tapping an image of the “Open” button of thelower LCD 12 with the touch pen 28 or a finger or pressing the operatingbutton 14B (A button).

For example, when the menu item “Random” is in a selected state on thelower LCD 12, a submenu including “All Random”, two “Features” (in theexample shown in FIG. 8, a “SUPER MARIO BAND Feature” and a “WARIO BANDFeature”), “Today's Recommendations”, and “Top 10 Most Played Songs” isdisplayed on the upper LCD 22. The submenu is displayed in accordancewith the music file that is the playback object. When an operation forfinalizing the menu item that is in a selected state on the lower LCD 12is performed by the user using the touch panel 13 or the operatingbuttons 14A to 14L, the screen changes to a screen after selection of amenu item.

FIG. 9 is a diagram showing one example of the game device 10 in a statewhere a “Random” menu screen of the music file management/playbackfunction interface according to the present embodiment is displayed. Themenu screen shown in FIG. 9 is a screen to which the top screen shown inFIG. 8 changes when an operation for finalizing a menu item is performedby the user. On the menu screen, the submenu displayed on the upper LCD22 on the top screen (refer to FIG. 8) is displayed on the lower LCD 12and becomes selectable by a user operation. Since the “Random” menu itemis opened in the example shown in FIG. 9, a submenu including “AllRandom”, two “Features”, “Today's Recommendations”, and “Top 10 MostPlayed Songs” is displayed on the lower LCD 12.

Moreover, the “Random” menu item is a menu item including a submenu forperforming shuffle playback of music files that are processing objects.In this case, shuffle playback refers to playing back a plurality ofprocessing object (playback object) music files in a random order byrearranging a sorted order or a managed original order. However, thepresent disclosure may be applied to random playback in which, insteadof rearranging a plurality of processing object music files prior toplayback, music files are played back by randomly extracting a next songevery time a song is played back.

The “All Random” submenu item is a submenu item for performing shuffleplayback by setting all music files recorded on the external data memory46 as processing objects. In addition, the “Today's Recommendations”submenu item is a submenu item for performing shuffle playback bysetting music files stored in a randomly selected folder among the musicfiles recorded on the external data memory 46 as processing objects, andthe “Top 10 Most Played Songs” submenu item is a submenu item forperforming shuffle playback by setting a maximum of ten music filesselected by the user in advance as processing objects.

Furthermore, the two “Feature” submenu items are submenu items forperforming shuffle playback by setting music files specified in anautomatically generated playback object list among the music filesrecorded on the external data memory 46 as processing objects. In otherwords, in the present embodiment, music files specified in a playbackobject list corresponds to processing objects according to the presentdisclosure. Hereinafter, generation of a playback object list for a“Feature” submenu item and playback of music files based on thegenerated playback object list according to the present embodiment willbe described.

<Flow of Processing>

Next, flows of a superior group identification process, a processingobject specification process, and a shuffle playback process accordingto the present embodiment will be described.

FIG. 10 is a flow chart showing one example of a flow of a superiorgroup identification process according to the present embodiment. Theprocess shown in the present flow chart is executed when the “Random”menu item is changed to a selected state on the screen shown in FIG. 8.However, execution of the superior group identification process may becompleted before the “Feature” submenu is displayed, and a trigger forstarting the superior group identification process is not limited to the“Random” menu item being changed to a selected state. For example, thesuperior group identification process may be executed when the musicfile playback/management function is activated or when activation of thegame device 10 is completed. Moreover, specific contents, order, and thelike of the process shown in the present flow chart represent an exampleof implementing the present disclosure. Specific contents, order, andthe like may be appropriately selected according to the embodiment.

In step S101, a process is set for selecting a music file to become akey. The data selecting unit 54 sets, in accordance with a feature to begenerated, a predetermined process that is applied when a music file tobecome a key is selected in step S102. In the present embodiment, the“Feature” submenu item presents the user with a feature that isautomatically generated based on music files with a high playbackfrequency (corresponds to a frequency of use according to the presentdisclosure; in the present embodiment, a playback count is used as theplayback frequency) (hereinafter, referred to as “Feature 1”) and afeature that is automatically generated based on music files randomlyselected from all music files recorded on the external data memory 46(hereinafter, referred to as “Feature 2”).

In the present embodiment, when generating the Feature 1, the dataselecting unit 54 sets a playback frequency of a music file which ranksin the top ten (this value may be appropriately set according to theembodiment) in playback frequencies as the predetermined condition andsets randomly selecting a file from files satisfying this condition asthe predetermined process. In addition, when generating the Feature 2,the data selecting unit 54 sets selecting a music file from music filesrecorded on the external data memory 46 (in other words, all music filesare objects) as the predetermined process. Subsequently, the processproceeds to step S102.

In step S102, a music file to become a key is selected. By executing thepredetermined process, the data selecting unit 54 selects one music fileto become a key of the superior group identification process from musicfiles recorded on the external data memory 46.

In the present embodiment, when generating the Feature 1, the dataselecting unit 54 selects a music file to become a key by executing aprocess for randomly selecting one music file from music files withplayback frequencies ranking in the top ten as the predeterminedprocess. In this case, a playback frequency is acquired by the usefrequency acquiring unit 53. Furthermore, when generating the Feature 2,a music file to become a key is selected by executing a process forrandomly selecting one music file from all music files recorded on theexternal data memory 46 as the predetermined process. In doing so, thedata selecting unit 54 identifies all music files that are selectioncandidates by extracting only music files from all files recorded on theexternal data memory 46. As a method of extracting only music files fromall files, a method of extracting all files having a predeterminedextension or a method of referencing management information of files maybe adopted. In addition, while a greater amount of resources isgenerally required, a method may be adopted in which a data type isidentified by opening a file and referencing meta-information or contentdata. Once a music file to become a key is selected, the processproceeds to step S103.

Moreover, in the present embodiment, while a process for randomlyselecting one music file from music files with high playback frequenciesand a process for randomly selecting one music file from all music filesare adopted as the predetermined process for selecting a music file tobecome a key, the music file to become a key may be selected by otherprocesses. For example, a music file to become a key may be selectedfrom a population made up of music files in which a predetermined wordis included in a file name or a song title, a population made up ofmusic files having a predetermined melody or tempo, or a population madeup of music files whose playback time is within a predetermined periodof time. When such information cannot be acquired from the managementinformation of a file, the information can be acquired by opening thefile and referencing meta-information (a tag or the like) in the file oranalyzing contents of actual data included in the file. However, aprocess of opening a file to acquire meta-information or a process ofanalyzing contents of actual data causes a high load and may slow downthe device. On the other hand, using playback history or using filemanagement information, file names, and the like as is the case of thepresent embodiment eliminates the need for such processes and can reduceprocessing load.

In step S103, a folder that includes the music file to become a key isidentified. Based on the music file to become a key identified in stepS102, the superior group identifying unit 56 identifies a foldercontaining the music file. Specifically, methods that can be usedinclude a method of identifying a folder by referencing file managementinformation of a folder (directory) in which the selected music fileexists (for example, when a file is managed by a so-called filemanagement table such as an FAT (File Allocation Table), the filemanagement table is referenced) and a method of extracting a path of afolder containing the selected music file by acquiring a path of theselected music file and deleting the file name from the acquired path.However, specific methods of identifying a folder are not limited tothose exemplified above. Subsequently, the process proceeds to stepS104.

In step S104, a superior folder containing a subordinate folder isidentified. The superior group identifying unit 56 identifies a folderthat is higher than the folder identified in step S103 by an arbitrarynumber of levels. In the present embodiment, the superior groupidentifying unit 56 identifies a folder that is one level higher thanthe folder identified in step S103. Specifically, the superior groupidentifying unit 56 may identify a superior folder by referencing filemanagement information of a folder (directory) in which the folderidentified in step S103 exists, by performing a process such as moving acurrent directory from the folder identified in step S103, or byacquiring a path of the folder identified in step S103 and deleting filenames corresponding to a desired number of lower levels from theacquired path to extract a path to a superior folder. By identifyingsuch a superior folder, music files managed using folders per a givenunit (for example, per album or per playlist) can be extracted across aplurality of folders.

FIG. 11 is a diagram showing one example of a folder structure in theexternal data memory 46 according to the present embodiment. The exampleshown in FIG. 11 has a folder structure in which folders provided forrespective artists (artists A and B in FIG. 11; hereinafter referred toas “artist folders”) contain folders provided for respective albums ofthe artists (albums A to F in FIG. 11; hereinafter referred to as “albumfolders”) and, in turn, the album folders contain music files of songsincluded in the albums (songs 01 to 10 in FIG. 11). In this case,according to the process shown in the present flow chart, after themusic file to become a key is selected (step S102), an album foldercontaining the music file is identified (step S103), and an artistfolder that is one level higher than the album folder is identified(step S104).

Moreover, in a case where a database that manages files (such as adatabase of music file management software) is provided separately fromthe hierarchical folder structure, a superior group in the database maybe identified. In other words, a hierarchical relationship in whichrespective music files are divided into groups per a given unit and thegroups are further divided into superior groups is specified separatelyfrom the hierarchical structure in the file system as a hierarchicalstructure in the database by a method such as using managementinformation of the database, whereby the superior group may beidentified based on the hierarchical structure in the database. In thiscase, the superior group identifying unit 56 identifies a group such asa playlist that contains the file by referencing the managementinformation of the database (step S103), and identifies a group that isone level higher than the identified group (step S104).

In steps S105 and S106, a determination is made on whether or not asuperior folder has been identified, and when a failure to identify asuperior folder occurs a predetermined number of times or more, theprocess shown in the present flow chart is terminated. The determinationunit 57 determines whether or not a superior folder has been identifiedin step S104 (step S105). The determination unit 57 determines that asuperior folder has not been identified when an attempt is made in stepS104 to identify a superior folder that is higher by a desired number oflevels but such a folder did not exist (in other words, a most superiorfolder had been reached before reaching a superior folder that is higherby the desired number of levels). In addition, the determination unit 57also determines that a superior folder has not been identified when thefolder that is higher by a desired number of levels is a duplication ofa superior folder for the “Feature” submenu item which has already beenidentified (in the example shown in the present embodiment, when asuperior folder intended to be identified for the Feature 2 is aduplication of the superior folder identified for the Feature 1). Atthis point, when it is determined that a superior folder has not beenidentified (when an identification of a superior folder has failed), thedetermination unit 57 counts the number of failures to identify asuperior folder. Subsequently, when a failure to identify a superiorfolder occurs a predetermined number of times or more, the input/outputunit 51 outputs a top screen or a menu screen that does not include afeature display via the upper LCD 22 or the lower LCD 12 (in otherwords, does not output a feature) and the process shown in the presentflow chart is terminated (step S106). On the other hand, when it isdetermined that a superior folder has not been identified (step S105)but the number of failures has not reached the predetermined number oftimes (step S106), the process proceeds to step S102.

Conversely, when it is determined that a superior folder has beenidentified, the process proceeds to step S107. In step S107, a foldername of the superior folder is acquired. The processing objectspecifying unit 59 acquires the folder name of the superior folderidentified in step S104 by reading the folder name from an area of thestorage device in which folder names are retained such as filemanagement information. Subsequently, the process proceeds to step S108.

In step S108, a determination is made on whether or not all targetsuperior folders have been identified. In the present embodiment, theuser is presented with the Feature 1 for which superior folders areidentified based on a music file to become a key which is selected frommusic files included in songs ranking within the top ten (this value maybe appropriately set according to embodiment) in playback frequency, andthe Feature 2 for which superior folders are identified based on a musicfile to become a key which is selected from all music files. Therefore,in step S108, a determination that all target superior folders have beenidentified is made when both the superior folder for the Feature 1 andthe superior folder for the Feature 2 are identified. When it isdetermined that all target superior folders have not been identified,the process proceeds to step S101 and a key music file for a different“Feature” submenu item is selected. In other words, in the processaccording to the present flow chart, processes from step S101 to stepS107 are repetitively executed until all target superior folders havebeen identified. Moreover, in the present embodiment, predeterminedprocesses for selecting a key music file differ among different“Features” (refer to step S101). Therefore, in step S101, every time aprocess is executed, a predetermined process for selecting a key musicfile is set to a different process. In other words, when a superiorfolder related to the “Feature 1” is identified and step S101 is onceagain executed, a predetermined process for the “Feature 2” is set instep S101. When it is determined that all target superior folders havebeen identified, the process proceeds to step S109.

In step S109, a name of a feature is outputted. The processing objectspecifying unit 59 generates a name of a feature based on the foldername of the superior folder acquired in step S107, and the input/outputunit 51 outputs the generated feature name via the upper LCD 22 or thelower LCD 12 (refer to FIGS. 8 and 9). In the present embodiment, afeature name obtained by adding a character string “Feature” after acharacter string that is the folder name of the acquired superior folderis used. In the present embodiment, since two features, namely, theFeature 1 and the Feature 2 are generated, a character string of“<folder name of the superior folder extracted for Feature 1> feature”and a character string of “<folder name of the superior folder extractedfor Feature 2> feature” are outputted to the upper LCD 22 or the lowerLCD 12. However, feature names that are outputted are not limited to theexamples described with respect to the present flow chart. For example,a character string may be adopted which is generated by adding anothercharacter string to the folder name of a superior folder such as “Random<folder name of superior folder>”.

For example, in the example shown in FIG. 11, an artist folder isidentified as the superior folder and a name of an artist is set as thefolder name of this folder. In this case, a character string of “<artistname> feature” is displayed as the name of the feature on the upper LCD22 or the lower LCD 12.

In addition, in the examples of the top screen shown in FIG. 8 and the“Random” menu screen shown in FIG. 9, a “SUPER MARIO BAND feature” and a“WARIO BAND feature” are displayed. This means that the folder name ofthe superior folder extracted for the Feature 1 is “SUPER MARIO BAND”and that the folder name of the superior folder extracted for theFeature 2 is “WARIO BAND”. In other words, with the game device 10according to the present embodiment, a feature can be generated andpresented to a user in accordance with a file management method adoptedby the user. In the examples of the top screen shown in FIG. 8 and the“Random” menu screen shown in FIG. 9, since the user manages music filesby means of a hierarchical structure of “/artist/album/music file”, a“Feature” having an artist name as a title is presented. Alternatively,when the management method adopted by the user has a hierarchicalstructure of “/genre/artist/music file”, a “Feature” having a genre nameas a title is presented, and when the management method adopted by theuser has a hierarchical structure of “/game series/game title/musicfile”, a “Feature” having a name of the game series as a title ispresented. When the name of the feature is outputted in step S109, theprocess shown in the present flow chart is finished.

As described above, with the game device 10 according to the presentembodiment, processing objects (in this case, music files for shuffleplayback) can be specified across a plurality of folders without havingto reference meta-information of music files such as tag information.

However, when there is only one subordinate folder containing data (inthis case, a music file) that may potentially be a processing objectwith respect to the superior folder identified in step S104, music filescannot be extracted across a plurality of folders. In this case, while aplayback object list that lists playback object music files extractedas-is from only one subordinate folder may be created (creation of aplayback object list will be described later), a superior foldercontaining a plurality of subordinate folders may be re-identified byanother method. Hereinafter, with reference to FIGS. 12 and 13, adescription will be given on a method of re-identifying a superiorfolder by re-executing the superior group identification process fromthe beginning (refer to FIG. 12) and on a method of re-identifying asuperior folder by identifying a folder of a level higher than theidentified superior folder that only has one subordinate folder (referto FIG. 13).

FIG. 12 is a flow chart showing one example of a first variation of thesuperior group identification process. The process shown in the presentflow chart is executed when the “Random” menu item is changed to aselected state on the screen shown in FIG. 8. However, execution of thesuperior group identification process may be completed before the“Feature” submenu is displayed, and a trigger for starting the superiorgroup identification process is not limited to the “Random” menu itembeing changed to a selected state. For example, the superior groupidentification process may be executed when the music fileplayback/management function is activated or when activation of the gamedevice 10 is completed. Moreover, specific contents, order, and the likeof the process shown in the present flow chart represent an example ofimplementing the present disclosure. Specific contents, order, and thelike may be appropriately selected according to the embodiment.

Since processes shown in steps S201 to S204 are approximately the sameas the processes of steps S101 to S104 already described with referenceto FIG. 10, a description thereof will be omitted. Subsequently, theprocess proceeds to step S205.

In steps S205 and S206, a determination is made on whether or not asuperior folder having a plurality of subordinate folders containingmusic files (hereinafter, also referred to as an “appropriate superiorfolder”) has been identified, and when a failure to identify anappropriate superior folder occurs a predetermined number of times ormore, the process shown in the present flow chart is terminated. Thedetermination unit 57 determines whether or not a superior folder hasbeen identified in step S204 and, further, determines whether or not asuperior folder having a plurality of subordinate folders has beenidentified by referencing contents of the subordinate folders that aresubordinate to the identified superior folder (step S205). At thispoint, when it is determined that an appropriate superior folder has notbeen identified, the determination unit 57 counts the number of failuresto identify a superior folder. Subsequently, when a failure to identifyan appropriate superior folder occurs a predetermined number of times ormore, the determination unit 57 terminates the process shown in thepresent flow chart (step S206). On the other hand, when it is determinedthat an appropriate superior folder has not been identified (step S205)but the number of failures has not reached the predetermined number oftimes (step S206), the process proceeds to step S202.

Conversely, when it is determined that an appropriate superior folderhas been identified, the process proceeds to step S207. Since processesshown in steps S207 to S209 are approximately the same as the processesof steps S107 to S109 already described with reference to FIG. 10, adescription thereof will be omitted. When the name of the feature isoutputted in step S209, the process shown in the present flow chart isfinished.

According to the process shown in the present flow chart, even if thereis only one subordinate folder containing data that may potentially be aprocessing object with respect to the identified superior folder, asuperior folder can be re-identified by re-executing the superior groupidentification process from the beginning.

FIG. 13 is a flow chart showing one example of a second variation of thesuperior group identification process. The process shown in the presentflow chart is executed when the “Random” menu item is changed to aselected state on the screen shown in FIG. 8. However, execution of thesuperior group identification process may be completed before the“Feature” submenu is displayed, and a trigger for starting the superiorgroup identification process is not limited to the “Random” menu itembeing changed to a selected state. For example, the superior groupidentification process may be executed when the music fileplayback/management function is activated or when activation of the gamedevice 10 is completed. Moreover, specific contents, order, and the likeof the process shown in the present flow chart represent an example ofimplementing the present disclosure. Specific contents, order, and thelike may be appropriately selected according to the embodiment.

Since processes shown in steps S301 to S306 are approximately the sameas the processes of steps S101 to S106 already described with referenceto FIG. 10, a description thereof will be omitted. When it is determinedthat a superior folder has been identified, the process proceeds to stepS307.

In steps S307 and S308, a determination is made on whether or not asuperior folder having a plurality of subordinate folders containingmusic files (an appropriate superior folder) has been identified, andwhen it is determined that the identification of an appropriate superiorfolder has failed, a folder of a further higher level is re-identifiedas the superior folder. The determination unit 57 determines whether ornot a superior folder having a plurality of subordinate folderscontaining music files has been identified by referencing contents ofthe subordinate folders that are subordinate to the superior folderidentified in step S304 (step S307). At this point, when it isdetermined that an appropriate superior folder has not been identified,the superior group changing unit 58 changes (re-identifies) a superiorgroup by retracing at least one level from the superior group identifiedby the superior group identifying unit 56 (step S308).

Conversely, when it is determined that an appropriate superior folderhas been identified, the process proceeds to step S309. Since processesshown in steps S309 to S311 are approximately the same as the processesof steps S107 to S109 already described with reference to FIG. 10, adescription thereof will be omitted. When the name of the feature isoutputted in step S311, the process shown in the present flow chart isfinished.

According to the process shown in the present flow chart, even if thereis only one subordinate folder containing data that may potentially be aprocessing object with respect to the identified superior folder, asuperior folder can be re-identified by identifying a folder of a levelhigher than the identified superior folder.

In addition, the superior group identification process described usingthe flow charts shown in FIGS. 10, 12, and 13 adopts a method ofidentifying a superior folder while using a music file selected by apredetermined process as a starting point. However, when identifying asuperior folder by using, as a starting point, a file selected from apredetermined process involving, for example, selecting a file fromfiles with high frequencies of use, superior folders presented by the“Feature” submenu may possibly become biased due to a specific filehaving a prominent frequency of use. Therefore, in the presentembodiment, when presenting a “Feature” (for example, the “Feature 1”)based on a file identified by a certain process, a “Feature” (forexample, the “Feature 2”) based on a file identified by a differentprocess is presented at the same time. Furthermore, as another method ofavoiding a bias of the presented superior folder, a method may beadopted in which a superior folder is identified by using a folderselected by a predetermined process as a starting point. Hereinafter, amethod of identifying a superior folder by using a folder with a highfrequency of use as a starting point will be described with reference toFIG. 14.

FIG. 14 is a flow chart showing one example of a third variation of thesuperior group identification process. The process shown in the presentflowchart is executed when the “Random” menu item is changed to aselected state on the screen shown in FIG. 8. However, execution of thesuperior group identification process may be completed before the“Feature” submenu is displayed, and a trigger for starting the superiorgroup identification process is not limited to the “Random” menu itemchanged to a selected state. For example, the superior groupidentification process may be executed when the music fileplayback/management function is activated or when activation of the gamedevice 10 is completed. Moreover, specific contents, order, and the likeof the process shown in the present flow chart represent an example ofimplementing the present disclosure. Specific contents, order, and thelike may be appropriately selected according to the embodiment.

In step S401, a process is set for selecting a folder to become a key.The group selecting unit 55 sets, in accordance with a feature to begenerated, a predetermined process that is applied when a folder tobecome a key is selected in step S403. A feature automatically generatedbased on playback frequency (hereinafter, referred to as the “Feature1”) and a feature automatically randomly generated (hereinafter,referred to as the “Feature 2”) are to be presented to the user.

In the present embodiment, when generating the Feature 1, the groupselecting unit 55 sets a playback frequency of a folder which ranks inthe top ten (this value may be appropriately set according to theembodiment) in playback frequencies as the predetermined condition andrandomly selecting a folder from folders satisfying this condition asthe predetermined process. In addition, when generating the Feature 2,the group selecting unit 55 sets selecting a folder from foldersrecorded on the external data memory 46 (in other words, all folders areobjects) as the predetermined process. Subsequently, the processproceeds to step S402.

In step S402, a playback frequency of a folder is acquired. The usefrequency acquiring unit 53 acquires a playback frequency of a folder byidentifying a folder containing each music file from the playbackhistory of the music file and compiling a playback history for eachidentified folder. More specifically, when playback history is recordedbased on an accumulation of file paths of played-back music files, theuse frequency acquiring unit 53 identifies a folder containing a musicfile related to the playback history by extracting a path to a folderfor which a file name had been removed from an accumulated file path.Since a usage history of a folder is consequently acquired, the usefrequency acquiring unit 53 complies the number of accumulated filepaths for each folder to acquire a usage history of the folder.Subsequently, the process proceeds to step S403.

In step S403, a folder to become a key is selected. The group selectingunit 55 selects one folder to become a key of the superior groupidentification process from the folders recorded on the external datamemory 46. In the present embodiment, when generating the Feature 1, thegroup selecting unit 55 selects a folder to become a key by executing aprocess for randomly selecting one folder from folders with playbackfrequencies ranking in the top 10 (this value may be appropriately setaccording to the embodiment) acquired in step S402 as the predeterminedprocess. Furthermore, when generating the Feature 2, a folder to becomea key is selected by executing a process for randomly selecting onefolder from all folders recorded on the external data memory 46 as thepredetermined process. Subsequently, the process proceeds to step S404.

Moreover, in the present embodiment, while a process for randomlyselecting one folder from folders with high playback frequencies and aprocess for randomly selecting one folder from all folders are adoptedas the predetermined process for selecting a folder to become a key, thefolder to become a key may be selected by other processes. For example,a folder to become a key may be selected from a population made up offolders having titles which include a predetermined word, a populationmade up of folders in which a total playback time of contained musicfiles is within a predetermined period of time, or the like. When suchinformation cannot be acquired from the management information of afile, the information can be acquired by opening a file contained in thefolder and referencing meta-information (a tag or the like) in the fileor analyzing contents of actual data included in the file.

Since processes shown in steps S404 to S409 are approximately the sameas the processes of steps S104 to S109 already described with referenceto FIG. 10, a description thereof will be omitted. When the name of thefeature is outputted in step S409, the process shown in the present flowchart is finished.

According to the process shown in the present flow chart, by identifyinga superior folder while using a folder with a high frequency of use as astarting point, a problem which may occur when using a file as astarting point can be prevented in which a specific file having aprominent frequency of use biases a presentation by the “Feature”submenu item, and the “Feature” submenu item can be presented in a formmore closely resembling an overall usage trend of the user.

FIG. 15 is a flow chart showing one example of a flow of a processingobject specification process according to the present embodiment. Theprocess shown in the present flow chart can be started at any time aftera superior folder is identified by the superior group identificationprocess described with reference to FIGS. 10 to 14 (in other words,after steps S104, S204, S304, and S404), and may be executed upon, forexample, the conclusion of the superior group identification process oran acceptance of a playback instruction based on a user operation.Moreover, specific contents, order, and the like of the process shown inthe present flowchart represent an example of implementing the presentdisclosure. Specific contents, order, and the like may be appropriatelyselected according to the embodiment.

In step S501, a music file contained in a subordinate folder isextracted. The processing object specifying unit 59 extracts a musicfile contained in a subordinate folder by referencing subordinatefolders that are subordinate to the superior folder identified in stepsS104, S204, S304, and S404 of the superior group identification processdescribed with reference to FIGS. 10 to 14. Moreover, in addition tofolders that are directly subordinate (in other words, lower by onelevel) to the superior folder, subordinate folders also include foldersthat are indirectly subordinate (in other words, lower by two or morelevels) to the superior folder via other subordinate folders. In thiscase, a music file is extracted by acquiring positional information (aso-called file path) that indicates a position of the music file in thefile system (directory structure). The processing object specifying unit59 extracts music files from all subordinate folders that aresubordinate to the superior folder. For example, in the folder structureshown in FIG. 11, when a folder of artist A is identified as thesuperior folder, the processing object specifying unit 59 extracts musicfiles related to songs 01 to 05 as music files contained in thesubordinate folder. Subsequently, the process proceeds to step S502.

Alternatively, when a superior group is identified using a database (adatabase of music file management software or the like) that managesfiles separately from the hierarchical structure of the folders in stepsS103, S104, and the like described earlier, the processing objectspecifying unit 59 extracts music files contained in the subordinategroup by referencing management information of the database (step S501).

In step S502, a playback object list is generated. The processing objectspecifying unit 59 generates a playback object list for shuffle playbackby rearranging file paths of the music files extracted in step S501 in arandom order (a shuffled order) that is not subjected to a sortcondition such as an ascending order, a descending order, or the like.However, the shuffling (rearranging) of the order of the music filesneed not be performed upon the creation of the playback object list instep S502. In the shuffle playback process described later, when aplayback order is determined as playback progresses, a playback objectlist having an order that is subjected to a certain sort condition (aplayback object list that is not shuffled) may be generated in stepS502. When the generation of the playback object list is completed, theprocess shown in the present flow chart is finished.

FIG. 16 is a diagram showing one example of a configuration of aplayback object list according to the present embodiment. A playbackobject list according to the present embodiment is a list in which filepaths of playback object music files are arranged in a playback order asidentification information of the music files. In the presentembodiment, since an order of shuffle playback is determined in advance,file paths of music files are also arranged shuffled in a playbackobject list. In addition, in a playback object list, a flag indicatingwhether or not a music file represented by a file path has already beenplayed back is recorded in association with each file path.

FIG. 17 is a flow chart showing one example of a flow of a shuffleplayback process of music files according to the present embodiment. Theprocess shown in the present flow chart is executed when a playbackinstruction based on a user operation is accepted. Moreover, specificcontents, order, and the like of the process shown in the present flowchart represent an example of implementing the present disclosure.Specific contents, order, and the like may be appropriately selectedaccording to the embodiment.

In steps S601 and S602, a playback instruction is accepted and a musicfile not yet played back is selected from the playback object list. Theinput/output unit 51 accepts the playback instruction (step S601). Theplayback control unit 52 selects one music file not yet played back fromthe playback object list generated in step S502 of the processing objectspecification process (step S602). Moreover, in the present embodiment,since an order of shuffle playback is determined in advance in theplayback object list, the playback control unit 52 is able to realizeshuffle playback simply by selecting music files not yet played back inthe playback order (the sequence in the playback object list) determinedin advance. However, in an embodiment in which a playback object list isnot in an order of shuffle playback, the playback control unit 52selects a playback object music file using methods such as performing arandom selection of a music file not yet played back each time a musicfile is selected. Subsequently, the process proceeds to step S603.

In steps S603 and S604, playback of a music file not yet played back isstarted and the music file that is played back is set as being alreadyplayed back. The playback control unit 52 starts playback of theselected music file (step S603). Once the selected music file has beenplayed back, the playback control unit 52 sets an already played backflag to a record of the played back music file in the playback objectlist. Subsequently, the process proceeds to step S605.

Moreover, a timing of setting an already played back flag may differaccording to the embodiment. For example, the playback control unit 52may set an already played back flag immediately after the start ofplayback of a music file or immediately after the end of playback of themusic file. A timing of setting an already played back flag may beappropriately set according to the embodiment.

In addition, a music file that has already been played back may bemanaged by methods other than setting a flag or the like indicating thatthe music file has already been played back. For example, when aplayback object list is a list that has been shuffled (rearranged) inadvance to form a playback order for shuffle playback as is the case ofthe present embodiment, music files that have already been played backcan be managed by simply retaining information indicating at least anyof a music file that is currently being played back among the playbackobject list, a music file that was last played back among the playbackobject list, and a music file that is to be played back next among theplayback object list. For example, when a music file that is currentlybeing played back among the playback object list is displayed, musicfiles preceding the music file in the playback object list can bedetermined as being already played back.

In step S605, a determination is made on whether or not all music fileslisted in the playback object list have already been played back. Theplayback control unit 52 determines whether or not all music fileslisted in the playback object list have already been played back byreferencing already played back flags retained in the playback objectlist and determining whether or not already played back flags are set toall music file records. However, when music files that have already beenplayed back are managed by a method other than already played backflags, a determination is made on whether or not all music files havealready been played back by a method in accordance with the managementmethod. For example, when a playback object list is a list that has beenshuffled in advance to form a playback order for shuffle playback, adetermination on whether or not all music files have already been playedback can be made by simply referencing information indicating at leastany of a music file that is currently being played back among theplayback object list, a music file that was last played back among theplayback object list, and a music file that is to be played back nextamong the playback object list. Once all music files have been playedback, the process proceeds to S606.

Conversely, if all music files have not been played back, the processproceeds to S602. As described above, step S602 is a process forselecting a music file that is not yet played back from the playbackobject list. In other words, according to the process shown in thepresent flow chart, processes shown in steps S601 to S605 arerepetitively performed until playback of all music files listed in theplayback object list is completed or until receiving an end playbackinstruction based on a user operation or an interrupt function providedin the game device 10.

In steps S606 and S607, a determination is made on whether repeatplayback is required or not, and a process for continuing playback isperformed as needed. More specifically, the playback control unit 52determines whether or not repeat playback is set to “enabled” byreferencing a setting content of repeat playback that is stored in astorage device (step S606). As a result of the determination, whenrepeat playback is set to “disabled”, the process shown in the presentflow chart is finished, and where there is a music file that is beingplayed back, playback of the feature is finished upon the end of theplayback. Conversely, as a result of the determination, when repeatplayback is set to “enabled”, the playback control unit 52 resets storedinformation representing music files that have already been played backand the playback order (step S607), and the process proceeds to stepS602. In this case, when music files that have already been played backare managed by means of already played back flags, resetting informationrepresenting music files that have already been played back meansresetting the already played back flags. In addition, when an order ofshuffle playback is determined based on a playback object listrearranged in advance, a playback object list that determines a shuffleplayback order is re-created (refer to the process described withreference to step S502).

According to the present embodiment, a plurality of music filescontained in different groups (folders) may be set as objects of shuffleplayback across groups. In addition, according to the presentembodiment, the Feature 1 that is automatically generated based onplayback frequency and the Feature 2 that is automatically randomlygenerated are presented to the user. Therefore, a combination of shuffleplayback accommodating preferences of the user and shuffle playback thatis unpredictable can be presented to the user in order to provide theuser with more ways to enjoy contents.

Moreover, while an example of applying the present disclosure to adevice that manages and plays back music files has been described in theembodiment above, types of data to which the present disclosure can beapplied are not limited to music files. For example, the presentdisclosure can be applied to a computer that manages video files, imagefiles, documents, and the like. For example, the present disclosure canbe applied to a computer having a function for managing image files ofphotographs. In this case, if a folder structure is adopted in whichsuperior folders of respective months in which photographs were takencontain folders of respective days on which the photographs were taken,by applying the present disclosure, objects of playback by means of aslideshow or the like can be set to photographs taken in a same month inwhich a photograph of an image file selected by a predetermined processhad been taken.

While certain example systems, methods, devices and apparatuses havebeen described herein, it is to be understood that the appended claimsare not to be limited to the systems, methods, devices and apparatusesdisclosed, but on the contrary, are intended to cover variousmodifications and equivalent arrangements included within the spirit andscope of the appended claims.

1. A computer-readable medium on which a program is recorded, theprogram causing a computer that manages groups of data by using a treestructure to execute: identifying a superior group from predeterminedgroups managed by the tree structure by retracing the tree structure byat least one level; and specifying data belonging to a subordinate groupthat is subordinate to the superior group in the tree structure as aprocessing object.
 2. The computer-readable medium on which a program isrecorded according to claim 1, the program causing the computer tofurther execute selecting data by a predetermined process, wherein inthe superior group identifying, the superior group is identified byidentifying a superior group that is higher by at least one level from agroup containing the data selected in the data selecting.
 3. Thecomputer-readable medium on which a program is recorded according toclaim 2, wherein in the data selecting, data is selected by a process ofselecting data from data satisfying a predetermined condition.
 4. Thecomputer-readable medium on which a program is recorded according toclaim 3, wherein in the data selecting, data is selected by a process ofselecting data from data satisfying the predetermined condition thatincludes a condition regarding a frequency of use of data.
 5. Thecomputer-readable medium on which a program is recorded according toclaim 4, wherein in the data selecting, data is selected by a process ofselecting data from data satisfying the predetermined condition thatincludes a condition requiring a frequency of use of data to be within apredetermined rank from a highest rank.
 6. The computer-readable mediumon which a program is recorded according to claim 2, wherein: in thedata selecting, a plurality of pieces of data is selected by a pluralityof predetermined processes differing from each other; in the superiorgroup identifying, a plurality of the superior groups is identified foreach of the plurality of pieces of data selected in the data selecting;and the computer is caused to further execute displaying group names ofthe plurality of superior groups identified in the superior groupidentifying on a display device connected to the computer so as to beselectable by a user.
 7. The computer-readable medium on which a programis recorded according to claim 6, wherein in the data selecting, aplurality of pieces of data is selected including data selected by aprocess of selecting data from data satisfying a predeterminedcondition, and data selected by a process of selecting data from allpieces of data.
 8. The computer-readable medium on which a program isrecorded according to claim 1, the program causing the computer tofurther execute selecting a group by a predetermined process, wherein inthe superior group identifying, the superior group is identified byidentifying a superior group that is higher by at least one level fromthe group selected in the group selecting.
 9. The computer-readablemedium on which a program is recorded according to claim 8, wherein inthe group selecting, a group is selected by a process of selecting agroup from groups that satisfy a predetermined condition.
 10. Thecomputer-readable medium on which a program is recorded according toclaim 9, wherein in the group selecting, a group is selected by aprocess of selecting a group from groups satisfying the predeterminedcondition that includes a condition regarding a frequency of use of agroup.
 11. The computer-readable medium on which a program is recordedaccording to claim 10, the program causing the computer to furtherexecute acquiring a frequency of use of a group by identifying a groupcontaining each piece of data indicated in a data usage history of thecomputer and compiling the usage history for each identified group,wherein in the group selecting, a group is selected by a process ofselecting a group from groups satisfying the predetermined conditionincluding a condition regarding the frequency of use of group acquiredin the use frequency acquiring.
 12. The computer-readable medium onwhich a program is recorded according to claim 1, wherein the programcauses the computer to further execute determining whether or not thereis a plurality of the subordinate groups which contains a predeterminedtype of data and which is subordinate to the superior group.
 13. Thecomputer-readable medium on which a program is recorded according toclaim 12, wherein the program causes the computer to change thepredetermined group and re-execute the superior group identifying andthe processing object specifying when it is determined in thedetermination that there is not a plurality of the subordinate groups.14. The computer-readable medium on which a program is recordedaccording to claim 12, wherein the program causes the computer tofurther execute changing the superior group by further retracing fromthe superior group identified in the superior group identifying by atleast one level when it is determined in the determination that there isnot a plurality of the subordinate groups.
 15. An information processingdevice which manages groups of data by using a tree structure, theinformation processing device comprising: a superior group identifyingunit to identify a superior group from predetermined groups managed bythe tree structure by retracing the tree structure by at least onelevel; and a processing object specifying unit to specify, as aprocessing object, data belonging to a subordinate group that issubordinate to the superior group identified by the superior groupidentifying unit in the tree structure.
 16. An information processingsystem comprising a storage device and an information processing devicewhich manages groups of data stored in the storage device by using atree structure, wherein the information processing device includes: asuperior group identifying unit to identify a superior group frompredetermined groups managed by the tree structure by retracing the treestructure by at least one level; and a processing object specifying unitto specify, as a processing object, data belonging to a subordinategroup that is subordinate to the superior group identified by thesuperior group identifying unit in the tree structure.
 17. Aninformation processing method for causing a computer that manages groupsof data by using a tree structure to execute: identifying a superiorgroup from predetermined groups managed by the tree structure byretracing the tree structure by at least one level; and specifying databelonging to a subordinate group that is subordinate to the superiorgroup in the tree structure as a processing object.